Prior art engines have utilized elongated co-acting rotors of elliptical cross section to define combustion chambers that expand and contract as they rotate in unison. Hollow rotors with hollow supporting shafts have been used, with inlet ports formed through the sides of part of the rotors, and outlet ports formed through others of the rotors. Other engines have circulated cooling liquid through hollow rotors.